package com.yangye.pisystem.service;

import com.yangye.picommon.core.service.BaseService;
import com.yangye.pisystem.domain.SysMenu;
import com.yangye.pisystem.dto.SysMenuDTO;
import com.yangye.pisystem.vo.SysMenuVO;

import java.util.List;

/**
 * @author yangye
 * @date 2019/8/6
 */
public interface SysMenuService extends BaseService<SysMenu> {

	/**
	 * 获取菜单详情
	 * @param id
	 * @return
	 */
	SysMenuVO findById(Long id);

	/**
	 * 获取子菜单
	 * @param parentId
	 * @return
	 */
	List<SysMenu> findSubMenus(Long parentId);

	/**
	 * 获取菜单树（包含按钮）
	 * @return
	 */
	List<SysMenuDTO> listTree();

	/**
	 * 获取当前用户的菜单树（不包含按钮）
	 * @return
	 */
	List<SysMenuDTO> listTreeByCurrentUser(String token);

	/**
	 * 获取用户拥有的菜单权限
	 * @param username
	 * @return
	 */
	List<SysMenuDTO> listMenusByUsername(String username);
}
